home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / wink24 / src / getcmos.asm < prev    next >
Assembly Source File  |  1993-07-08  |  964b  |  82 lines

  1. ;========================================================================
  2. ;
  3. ;    RSパラメータの取得
  4. ;
  5.     .386p
  6.  
  7. realint_para    struc
  8. intNo    dw    ?    ;割り込み番号
  9. r_ds    dw    ?
  10. r_es    dw    ?
  11. r_fs    dw    ?
  12. r_gs    dw    ?
  13. r_eax    dd    ?
  14. r_edx    dd    ?
  15. realint_para    ends
  16.  
  17. code    segment    use32
  18.     assume    cs:code,ds:code
  19.  
  20.  
  21. ;    char *getCMOSpara()
  22.  
  23. cpara:
  24.     db 200 dup (?)
  25. rpara:
  26.     db 18 dup (?)
  27.  
  28.     public    getCMOSpara
  29. getCMOSpara    proc    near
  30.  
  31.     push    ebp
  32.     push    edi
  33.     push    ebx
  34.     push    ecx
  35.     push    es
  36.  
  37.     push    ds
  38.     pop    es
  39.     mov    ebx,offset cpara
  40.     mov    ecx,200
  41.     mov    eax,250fh
  42.     int    21h
  43.     jc    #Error
  44.  
  45.  
  46.     xor    edi,edi
  47.     mov    di,cx
  48.     shr    ecx,16
  49.     mov    word ptr rpara.r_ds,cx
  50.  
  51.     mov    word ptr rpara.intNo,8eh
  52.     mov    dword ptr rpara.r_eax,0
  53.     mov    edx,offset rpara
  54.     mov    eax,2511h    
  55.     int    21h
  56.  
  57.     mov    eax,offset cpara
  58.     pop    es
  59.     pop    ecx
  60.     pop    ebx
  61.     pop    edi
  62.     pop    ebp
  63.  
  64.     ret
  65.  
  66.  
  67. #Error:
  68.     pop    es
  69.     pop    ecx
  70.     pop    ebx
  71.     pop    edi
  72.     pop    ebp
  73.     xor    eax,eax
  74.  
  75.     ret
  76.  
  77. getCMOSpara    endp
  78.  
  79.  
  80. code    ends
  81.     end
  82.